82 #define SLAVE_ADDRESS 0x48
88 WDT_A_hold(WDT_A_BASE);
91 CS_setDCOFreq(CS_DCORSEL_0,CS_DCOFSEL_3);
93 CS_initClockSignal(CS_ACLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_8);
95 CS_initClockSignal(CS_SMCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_8);
97 CS_initClockSignal(CS_MCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_8);
106 GPIO_setAsPeripheralModuleFunctionInputPin(
108 GPIO_PIN6 + GPIO_PIN7,
109 GPIO_SECONDARY_MODULE_FUNCTION
118 EUSCI_B_I2C_initMasterParam
param = {0};
119 param.selectClockSource = EUSCI_B_I2C_CLOCKSOURCE_SMCLK;
120 param.i2cClk = CS_getSMCLK();
121 param.dataRate = EUSCI_B_I2C_SET_DATA_RATE_400KBPS;
122 param.byteCounterThreshold = 1;
123 param.autoSTOPGeneration = EUSCI_B_I2C_SEND_STOP_AUTOMATICALLY_ON_BYTECOUNT_THRESHOLD;
124 EUSCI_B_I2C_initMaster(EUSCI_B0_BASE, &
param);
127 EUSCI_B_I2C_setSlaveAddress(EUSCI_B0_BASE,
132 EUSCI_B_I2C_setMode(EUSCI_B0_BASE,
133 EUSCI_B_I2C_RECEIVE_MODE
137 EUSCI_B_I2C_enable(EUSCI_B0_BASE);
139 EUSCI_B_I2C_clearInterrupt(EUSCI_B0_BASE,
140 EUSCI_B_I2C_RECEIVE_INTERRUPT0 +
141 EUSCI_B_I2C_BYTE_COUNTER_INTERRUPT
150 RXData = EUSCI_B_I2C_masterReceiveSingleByte(EUSCI_B0_BASE);
MPU_initThreeSegmentsParam param